簡體   English   中英

如何將pandas數據框導出到文件,以便可以使用pandas dan pyspark打開它?

[英]How to export pandas dataframe to file so it can be open using pandas dan pyspark?

我讀過兩pandas.read_csvpyspark.sql.DataFrameReader.csv文檔,似乎PySpark端沒有doublequote參數,以便場內引號字符使用轉義字符和熊貓加倍引號字符表明qoute字符轉義在場內。

這可以通過在doubleqoute=False設置參數doubleqoute=Falseescapechar='\\\\'pandas.to_csv設置參數multiLine=Truepyspark.sql.DataFrameReader.csv

但是,在我將這些參數設置為pandas.to_csv ,然后嘗試使用相同的參數pandas.read_csv 我得到錯誤顯示此行在預期3字段時有4個字段。

1242,"I see him, I know him \",an_username
1243,"I think I'm good now",another_username

我認為發生錯誤的原因是因為第一行的第二個字段包含\\作為最后一個字符,而pandas將其讀作轉義字符"並認為第二個字段不在那里結束。有沒有辦法解決這個問題刪除\\字符?

這是獲取錯誤的示例腳本

import pandas as pd
from io import StringIO

f = StringIO()
pd.DataFrame({'class':['y','y','n'],
              'text':['I am fine','I saw him, I knew him \\','I think, I am good now'],
              'value':['username','an_username','another_username']})\
  .to_csv(f,doublequote=False,escapechar='\\',index=False)
f.seek(0)
print(f.read())
f.seek(0)
pd.read_csv(f,doublequote=False,escapechar='\\')

我試過同樣但沒有得到這個問題。 請檢查以下嘗試過的代碼

import pandas as pd

data = pd.read_csv('c.csv')
print(data)

df = pd.DataFrame(data)
print(df)
df.to_csv('d.csv', doublequote=False)

data_1 = pd.read_csv('d.csv')
print(data_1)

上面代碼的輸出是:

Empty DataFrame
Columns: [1242, I see him, I know him, True]
Index: []
Empty DataFrame
Columns: [1242, I see him, I know him, True]
Index: []
Empty DataFrame
Columns: [Unnamed: 0, 1242, I see him, I know him, True]
Index: []

希望,這可能會對你有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM