데이터 변환기: Google 스프레드시트에서 SQL로, SQL에서 Google 스프레드시트로

CSV 또는 Google Sheet 데이터를 SQL로 변환하는 데이터 변환기를 구축할 수 있습니다. 또한 SQL 데이터를 원래 상태로 되돌리는 방법도 알려줍니다.

데이터 변환기는 서로 다른 형식 간의 데이터 인벤토리를 SQL, CSV, JSON, XML 등과 같이 사용하려는 예상 형식으로 변환하는 데 도움이 됩니다. API 또는 SaaS. 이 부분이 SQL 및 CSV에서 데이터 인벤토리를 관리하는 데 도움이 될 수 있다고 생각합니다.

따라서 이 장에서는 CSV 또는 Google 스프레드시트 데이터 인벤토리를 SQL로 변환하는 데이터 변환기를 구축하는 방법을 안내합니다. 반대로 SQL을 CSV 또는 Google 스프레드시트로 변환하는 방법도 알려줍니다. 이 자습서에서는 일반적으로 개발자가 애플리케이션을 구축하는 데 적합한 Sqlite3를 사용합니다. 방법론은 SQL과 공유됩니다.

목차: 데이터 변환기

데이터 변환기 – CSV에서 SQL로

데이터 변환기를 구축하는 데 사용되는 5개의 Sqlite3 클래스 및 메서드와 CSV 및 팬더가 있습니다.

Connect() – SQLite 데이터베이스에 대한 연결 생성

sqlite3 connect() 함수는 파일에 있는 SQLite 데이터베이스와 상호 작용하는 데 사용할 연결 개체를 반환합니다. 예를 들어 여기서는 b2bcontacts.DB에 새 DB 파일 이름을 만듭니다.

connection = sqlite3.connect("ceInfluencer.db")

Cursor() and Execute() – DB 파일에 새 데이터 테이블 생성

sqlite3. Cursor 클래스는 SQLite 문을 실행하고 쿼리 결과 집합에서 데이터를 가져오는 메서드를 호출할 수 있는 인스턴스입니다. Connection 개체 및 클래스의 cursor() 메서드를 사용하여 Cursor 개체를 만들 수 있습니다.

cursor = connection.cursor()

그런 다음 sqlite3 실행은 원하는 것을 실행하기 위해 코드 또는 스크립트를 실행하는 명령입니다. 여기에서 우리는 Prospect라는 이름의 새 테이블을 만들어야 합니다. 예상 테이블 내. 또한 열 이름을 추가하고 데이터 유형을 텍스트, 정수, 부동 등으로 분류해야 합니다. 그리고 열 이름의 시작과 끝에 각각 " '''이 있습니다.

cursor.execute('''CREATE TABLE prospect(Category TEXT, Quality_Score TEXT, Country TEXT, B2BLead_Name TEXT, Email Contact TEXT)''')

데이터를 DB 파일에 삽입하기 위한 CSV 및 Pandas 추가

이제 이미 CSV 파일에 있는 B2B 연락처 데이터를 생성하고 즉시 SQL에 피드할 수 있는 형식을 변환해야 합니다. 여기에서 위와 같이 헤더를 제거해야 합니다. 응용 프로그램에서 사용되는 DB 파일에 새 헤더를 만들었습니다. 마지막으로 Pandas를 사용하여 데이터를 추가하고 데이터 프레임을 지정하면 됩니다.

B2BData = []

with open("B2Bdata_Inventory.csv","r") as csv_file:

csv_reading = csv.reader(csv_file)

header = next(csv_reading)

if header != None:

for i in csv_reading:

column1 = i[0:]

B2BData.append(column1)

df = pd.DataFrame(influencerData)

데이터의 각 행을 DB 파일에 삽입하려면 df 데이터의 길이로 루프를 생성해야 합니다. 여기서 주목해야 할 두 곳이 있습니다. 하나는 물음표를 추가해야 하는 VALUES 방법입니다. 총 개수는 위에서 생성한 열의 개수와 동일합니다.

for item in range(len(df)):

cursor.execute('''INSERT INTO influencer VALUES(?,?,?,?,?)''', df.iloc[item])

둘째, item 변수에 할당된 정수 목록을 사용하여 df.iloc[item]을 사용하여 db 파일에 삽입할 수 있습니다. 이는 df 데이터의 각 행을 삽입하라는 명령을 의미합니다. 예를 들어 df 데이터에 100개의 행이 있는 경우 100회 반복됩니다.

Commit () and Close ()

커밋 방법은 모든 변경 사항이 데이터베이스 파일에 저장되었는지 확인한 다음 스크립트를 닫을 수 있습니다.

데이터 변환기 – Google 시트를 SQL로

CSV to SQL과 비교할 때 차이점은 Google 시트를 먼저 잡고 pandas를 사용하여 데이터 프레임을 만드는 것입니다. 나머지 단계는 위와 동일합니다.

Google 시트 데이터를 가져오려면 gspread 모듈을 사용할 수 있습니다.

  • scope = ['https://www.googleapis.com/auth/spreadsheets','https://www.googleapis.com/auth/drive.file','https://www.googleapis.com/auth/drive']
  • creds = ServiceAccountCredentials.from_json_keyfile_name('theGoogleServiceAccountJsonFile.json', scope)
  • client = gspread.authorize(creds)
  • sh = client.open('theSheetName')
  • worksheet = sh.get_worksheet(theTabNumber)
  • vLookupValue = worksheet.get_values(theDataRange')
  • df = pd.DataFrame(vLookupValue)

데이터 변환기 – SQL에서 CSV로 변환기

CSV 파일로 변환하려는 DB 파일에 연결하는 것이 1단계입니다. 그런 다음 각 행에서 db 파일 데이터를 추가하는 루프를 만들어야 합니다. 마지막으로 데이터 프레임을 만들고 csv 파일에 저장하기만 하면 됩니다.

connection = sqlite3.connect('googleCompetitor.db')

googleData = []

data = connection.cursor()

for column in data.execute('SELECT * FROM influencer'):

googleData.append(column)

df = pd.DataFrame(googleData)

print(df)

df.to_csv('competitorTesting.csv', encoding='utf-8-sig')

SQL에서 Google 시트로 변환

Google 시트와 연결하여 SQL 데이터를 출력하는 것과 별도로 변환된 데이터를 할당된 스프레드시트에 업로드해야 합니다. 다음은 gspread를 사용하는 경우의 샘플입니다.

df = pd.DataFrame(googleData)

value_list = sh.values_update("testing!A1", params={'valueInputOption': 'USER_ENTERED'},body=dict(values=df.T.reset_index().T.values.tolist()))

CSV를 SQL로, SQL을 CSV로, SQL을 Google 시트로 변환하는 데이터 변환기의 전체 Python 스크립트

46장: CSV를 SQL로, SQL을 CSV로, Google 스프레드시트를 SQL로 변환하는 데이터 변환기의 전체 Python 스크립트에 관심이 있는 경우, "Chapter 46"이라는 메시지를 추가하여 뉴스레터를 구독 하십시오. . 귀하의 사서함으로 스크립트를 즉시 보내드립니다.

46장: CSV를 SQL로, SQL을 CSV로, Google 스프레드시트를 SQL로 변환하는 데이터 변환기를 즐겁게 읽으시기 바랍니다. 그렇다면 아래 나열된 항목 중 하나를 수행하여 지원해 주세요. 항상 채널에 도움이 되기 때문입니다.

  • PayPal( paypal.me/Easy2digital )을 통해 채널을 지원하고 기부하세요.
  • 제 채널 구독하시고 알림벨을 켜주세요 Easy2Digital 유튜브 채널 .
  • 내 페이지 팔로우 및 좋아요 Easy2Digital Facebook 페이지
  • #easy2digital 해시태그를 사용하여 소셜 네트워크에 기사를 공유하세요.
  • Easy2Digital 10% 할인 코드로 제품 구매 ( Easy2DigitalNewBuyers2021)
  • Easy2Digital 최신 기사, 비디오 및 할인 코드를 받으려면 주간 뉴스레터에 가입하십시오.
  • 독점적인 혜택을 누리려면 Patreon을 통해 월간 멤버십을 구독하세요( www.patreon.com/louisludigital ).