所以我面临以下问题:
我有一个;分开的csv,有;用引号括起来,这会破坏数据。 所以喜欢 遵守; ACDET;"添加; DSSS&#34 ;; ACDE;在"添加; dsss"正在移动" DSSS"到下一行,并破坏我正在编写的ETL模块的结果。我的ETL正在从互联网上获取这样一个csv,然后对其进行转换(首先将其加载到pandas数据框中,进行预处理然后保存),然后将其加载到sql server中。但损坏的文件正在打破sql server架构。
是否有任何解决方案可以与熊猫数据框架结合使用,这使我可以在使用熊猫数据帧读取(pd.read_csv)或编写(pd.to_csv)(或两者)部分时解决此问题? / p>
答案 0 :(得分:1)
试试吧:
from io import StringIO
import pandas as pd
txt = StringIO("""abide;acdet;"adds;dsss";acde""")
df = pd.read_csv(txt,sep=';',header=None)
print(df)
输出数据帧:
0 1 2 3
0 abide acdet adds;dsss acde
答案 1 :(得分:1)
您可能需要告诉读者可能会引用一些字段:
pd.read_csv(your_data, sep=';', quotechar='"')
答案 2 :(得分:0)
sep
pd.read_csv
参数允许您指定在CSV文件中用作分隔符的字符。其默认值为,
。将其更改为;
可以解决您的问题吗?