我需要在Windows上的Python中导入CSV文件。我的文件以';'分隔并包含带有非英语符号和逗号(',')的字符串。

我看过帖子:

Importing a CSV file into a sqlite3 database table using Python

Python import csv to list

当我运行时:

with open('d:/trade/test.csv', 'r') as f1:
    reader1 = csv.reader(f1)
    your_list1 = list(reader1)

我遇到一个问题:逗号更改为“-”符号。

当我尝试时:
df = pandas.read_csv(csvfile)

我有错误:



请帮忙。我更喜欢使用pandas,因为代码更短而不列出CSV文件中的所有字段名称。

我知道暂时替换逗号可能会变通。尽管如此,我还是想通过一些参数来解决 Pandas 问题。

最佳答案

Pandas 解决方案-将 read_csv 与正则表达式分隔符[;,]一起使用。您需要添加engine='python',因为警告:


import pandas as pd
import io

temp=u"""a;b;c
1;1,8
1;2,1
1;3,6
1;4,3
1;5,7
"""
#after testing replace io.StringIO(temp) to filename
df = pd.read_csv(io.StringIO(temp), sep="[;,]", engine='python')
print (df)

   a  b  c
0  1  1  8
1  1  2  1
2  1  3  6
3  1  4  3
4  1  5  7

09-27 06:42
查看更多